// 练习3：
// 联合类型与类型守卫综合应⽤
// 编写⼀个函数 processInput ，满⾜以下要求：
// 参数 input 的类型为 string | number | boolean[] 。
// 如果 input 是 string ，返回其反转后的字符串（如"hello"→"olleh"）。
// 如果 input 是 number ，返回其平⽅根（保留2位⼩数）。
// 如果 input 是 boolean[] ，返回数组中 true 的数量。
// 必须使⽤ typeof 和 Array.isArray 作为类型守卫。
function processInput(input : string | number | boolean[]){
    if (typeof input === 'string'){
        return input.split('').reverse().join('');
    }else if (typeof input === 'number'){
        return Math.sqrt(input).toFixed(2);
    }else if (Array.isArray(input)){
        let count = 0;
        for(let i = 0; i < input.length; i++){
            if(input[i] === true)
                {
                    count++;
                }
        }
        return count;
    }
}

console.log(processInput([true, false, true, true, false]));